package org.byqh.dqeai.entity.proxy;

import com.easy.query.core.expression.parser.core.available.TableAvailable;
import com.easy.query.core.proxy.AbstractProxyEntity;
import com.easy.query.core.proxy.SQLColumn;
import com.easy.query.core.proxy.SQLSelectAsExpression;
import com.easy.query.core.proxy.fetcher.AbstractFetcher;
import com.easy.query.core.proxy.core.EntitySQLContext;
import org.byqh.dqeai.entity.SysAppModule;
import com.easy.query.core.proxy.columns.types.SQLStringTypeColumn;
import com.easy.query.core.proxy.columns.types.SQLShortTypeColumn;
import com.easy.query.core.proxy.columns.types.SQLLocalDateTimeTypeColumn;
import com.easy.query.core.proxy.columns.types.SQLBooleanTypeColumn;

/**
 * this file automatically generated by easy-query, don't modify it
 * 当前文件是easy-query自动生成的请不要随意修改
 * 如果出现属性冲突请使用@ProxyProperty进行重命名
 *
 * @author easy-query
 */
public class SysAppModuleProxy extends AbstractProxyEntity<SysAppModuleProxy, SysAppModule> {

    private static final Class<SysAppModule> entityClass = SysAppModule.class;

    public static final SysAppModuleProxy TABLE = createTable().createEmpty();

    public static SysAppModuleProxy createTable() {
        return new SysAppModuleProxy();
    }

    public SysAppModuleProxy() {
    }

    /**
     * {@link SysAppModule#getAppId}
     */
    public SQLStringTypeColumn<SysAppModuleProxy> appId() {
        return getStringTypeColumn("appId");
    }

    /**
     * {@link SysAppModule#getModuleId}
     */
    public SQLStringTypeColumn<SysAppModuleProxy> moduleId() {
        return getStringTypeColumn("moduleId");
    }

    /**
     * {@link SysAppModule#getModuleName}
     */
    public SQLStringTypeColumn<SysAppModuleProxy> moduleName() {
        return getStringTypeColumn("moduleName");
    }

    /**
     * {@link SysAppModule#getModuleAliasName}
     */
    public SQLStringTypeColumn<SysAppModuleProxy> moduleAliasName() {
        return getStringTypeColumn("moduleAliasName");
    }

    /**
     * {@link SysAppModule#getParentModuleId}
     */
    public SQLStringTypeColumn<SysAppModuleProxy> parentModuleId() {
        return getStringTypeColumn("parentModuleId");
    }

    /**
     * 适用于Ribbon界面功能区的分组
     * {@link SysAppModule#getCategory}
     */
    public SQLStringTypeColumn<SysAppModuleProxy> category() {
        return getStringTypeColumn("category");
    }

    /**
     * 模块图标路径,相对路径
     * {@link SysAppModule#getModuleIcon}
     */
    public SQLStringTypeColumn<SysAppModuleProxy> moduleIcon() {
        return getStringTypeColumn("moduleIcon");
    }

    /**
     * 0为不自动运行;1为自动运行
     * {@link SysAppModule#getAutorun}
     */
    public SQLStringTypeColumn<SysAppModuleProxy> autorun() {
        return getStringTypeColumn("autorun");
    }

    /**
     * 0为文件夹;1:为CS模块;2为BS模块
     * {@link SysAppModule#getModuleType}
     */
    public SQLStringTypeColumn<SysAppModuleProxy> moduleType() {
        return getStringTypeColumn("moduleType");
    }

    /**
     * 0 内嵌TAB页,1模态对话框,2独立窗体,3独立进程,4方法调用
     * {@link SysAppModule#getModuleRunType}
     */
    public SQLStringTypeColumn<SysAppModuleProxy> moduleRunType() {
        return getStringTypeColumn("moduleRunType");
    }

    /**
     * 0为不显示;1为显示,默认为1
     * {@link SysAppModule#getModuleVisible}
     */
    public SQLStringTypeColumn<SysAppModuleProxy> moduleVisible() {
        return getStringTypeColumn("moduleVisible");
    }

    /**
     * {@link SysAppModule#getCsFilepath}
     */
    public SQLStringTypeColumn<SysAppModuleProxy> csFilepath() {
        return getStringTypeColumn("csFilepath");
    }

    /**
     * {@link SysAppModule#getCsNamespace}
     */
    public SQLStringTypeColumn<SysAppModuleProxy> csNamespace() {
        return getStringTypeColumn("csNamespace");
    }

    /**
     * {@link SysAppModule#getCsMethod}
     */
    public SQLStringTypeColumn<SysAppModuleProxy> csMethod() {
        return getStringTypeColumn("csMethod");
    }

    /**
     * 0为平台标准参数;1为自定义参数
     * {@link SysAppModule#getParmType}
     */
    public SQLStringTypeColumn<SysAppModuleProxy> parmType() {
        return getStringTypeColumn("parmType");
    }

    /**
     * {@link SysAppModule#getBsUrl}
     */
    public SQLStringTypeColumn<SysAppModuleProxy> bsUrl() {
        return getStringTypeColumn("bsUrl");
    }

    /**
     * 0为IE内核;1为谷歌内核
     * {@link SysAppModule#getBsBrowserKenel}
     */
    public SQLStringTypeColumn<SysAppModuleProxy> bsBrowserKenel() {
        return getStringTypeColumn("bsBrowserKenel");
    }

    /**
     * 0为外部认证;1为内部认证
     * {@link SysAppModule#getBsAutologin}
     */
    public SQLStringTypeColumn<SysAppModuleProxy> bsAutologin() {
        return getStringTypeColumn("bsAutologin");
    }

    /**
     * {@link SysAppModule#getParmInfo}
     */
    public SQLStringTypeColumn<SysAppModuleProxy> parmInfo() {
        return getStringTypeColumn("parmInfo");
    }

    /**
     * {@link SysAppModule#getModuleSeq}
     */
    public SQLShortTypeColumn<SysAppModuleProxy> moduleSeq() {
        return getShortTypeColumn("moduleSeq");
    }

    /**
     * {@link SysAppModule#getCreateDate}
     */
    public SQLLocalDateTimeTypeColumn<SysAppModuleProxy> createDate() {
        return getLocalDateTimeTypeColumn("createDate");
    }

    /**
     * {@link SysAppModule#getUpdateDate}
     */
    public SQLLocalDateTimeTypeColumn<SysAppModuleProxy> updateDate() {
        return getLocalDateTimeTypeColumn("updateDate");
    }

    /**
     * {@link SysAppModule#getRemark}
     */
    public SQLStringTypeColumn<SysAppModuleProxy> remark() {
        return getStringTypeColumn("remark");
    }

    /**
     * CS模块类名称
     * {@link SysAppModule#getCsClass}
     */
    public SQLStringTypeColumn<SysAppModuleProxy> csClass() {
        return getStringTypeColumn("csClass");
    }

    /**
     * {@link SysAppModule#getDatabaseId}
     */
    public SQLStringTypeColumn<SysAppModuleProxy> databaseId() {
        return getStringTypeColumn("databaseId");
    }

    /**
     * {@link SysAppModule#getMultiInst}
     */
    public SQLStringTypeColumn<SysAppModuleProxy> multiInst() {
        return getStringTypeColumn("multiInst");
    }

    /**
     * {@link SysAppModule#getAlwaysOpen}
     */
    public SQLStringTypeColumn<SysAppModuleProxy> alwaysOpen() {
        return getStringTypeColumn("alwaysOpen");
    }

    /**
     * {@link SysAppModule#getAutorunSeq}
     */
    public SQLShortTypeColumn<SysAppModuleProxy> autorunSeq() {
        return getShortTypeColumn("autorunSeq");
    }

    /**
     * {@link SysAppModule#getNavVisible}
     */
    public SQLBooleanTypeColumn<SysAppModuleProxy> navVisible() {
        return getBooleanTypeColumn("navVisible");
    }

    /**
     * 默认为0表示普通模块;1表示复合模块.适用于文件夹
     * {@link SysAppModule#getHybridEnable}
     */
    public SQLBooleanTypeColumn<SysAppModuleProxy> hybridEnable() {
        return getBooleanTypeColumn("hybridEnable");
    }

    /**
     * 复合模块样式
     * {@link SysAppModule#getHybridStyle}
     */
    public SQLStringTypeColumn<SysAppModuleProxy> hybridStyle() {
        return getStringTypeColumn("hybridStyle");
    }

    @Override
    public Class<SysAppModule> getEntityClass() {
        return entityClass;
    }

    /**
     * 数据库列的简单获取
     *
     * @return
     */
    public SysAppModuleProxyFetcher FETCHER = new SysAppModuleProxyFetcher(this, null, SQLSelectAsExpression.empty);

    public static class SysAppModuleProxyFetcher extends AbstractFetcher<SysAppModuleProxy, SysAppModule, SysAppModuleProxyFetcher> {

        public SysAppModuleProxyFetcher(SysAppModuleProxy proxy, SysAppModuleProxyFetcher prev, SQLSelectAsExpression sqlSelectAsExpression) {
            super(proxy, prev, sqlSelectAsExpression);
        }

        /**
         * {@link SysAppModule#getAppId}
         */
        public SysAppModuleProxyFetcher appId() {
            return add(getProxy().appId());
        }

        /**
         * {@link SysAppModule#getModuleId}
         */
        public SysAppModuleProxyFetcher moduleId() {
            return add(getProxy().moduleId());
        }

        /**
         * {@link SysAppModule#getModuleName}
         */
        public SysAppModuleProxyFetcher moduleName() {
            return add(getProxy().moduleName());
        }

        /**
         * {@link SysAppModule#getModuleAliasName}
         */
        public SysAppModuleProxyFetcher moduleAliasName() {
            return add(getProxy().moduleAliasName());
        }

        /**
         * {@link SysAppModule#getParentModuleId}
         */
        public SysAppModuleProxyFetcher parentModuleId() {
            return add(getProxy().parentModuleId());
        }

        /**
         * 适用于Ribbon界面功能区的分组
         * {@link SysAppModule#getCategory}
         */
        public SysAppModuleProxyFetcher category() {
            return add(getProxy().category());
        }

        /**
         * 模块图标路径,相对路径
         * {@link SysAppModule#getModuleIcon}
         */
        public SysAppModuleProxyFetcher moduleIcon() {
            return add(getProxy().moduleIcon());
        }

        /**
         * 0为不自动运行;1为自动运行
         * {@link SysAppModule#getAutorun}
         */
        public SysAppModuleProxyFetcher autorun() {
            return add(getProxy().autorun());
        }

        /**
         * 0为文件夹;1:为CS模块;2为BS模块
         * {@link SysAppModule#getModuleType}
         */
        public SysAppModuleProxyFetcher moduleType() {
            return add(getProxy().moduleType());
        }

        /**
         * 0 内嵌TAB页,1模态对话框,2独立窗体,3独立进程,4方法调用
         * {@link SysAppModule#getModuleRunType}
         */
        public SysAppModuleProxyFetcher moduleRunType() {
            return add(getProxy().moduleRunType());
        }

        /**
         * 0为不显示;1为显示,默认为1
         * {@link SysAppModule#getModuleVisible}
         */
        public SysAppModuleProxyFetcher moduleVisible() {
            return add(getProxy().moduleVisible());
        }

        /**
         * {@link SysAppModule#getCsFilepath}
         */
        public SysAppModuleProxyFetcher csFilepath() {
            return add(getProxy().csFilepath());
        }

        /**
         * {@link SysAppModule#getCsNamespace}
         */
        public SysAppModuleProxyFetcher csNamespace() {
            return add(getProxy().csNamespace());
        }

        /**
         * {@link SysAppModule#getCsMethod}
         */
        public SysAppModuleProxyFetcher csMethod() {
            return add(getProxy().csMethod());
        }

        /**
         * 0为平台标准参数;1为自定义参数
         * {@link SysAppModule#getParmType}
         */
        public SysAppModuleProxyFetcher parmType() {
            return add(getProxy().parmType());
        }

        /**
         * {@link SysAppModule#getBsUrl}
         */
        public SysAppModuleProxyFetcher bsUrl() {
            return add(getProxy().bsUrl());
        }

        /**
         * 0为IE内核;1为谷歌内核
         * {@link SysAppModule#getBsBrowserKenel}
         */
        public SysAppModuleProxyFetcher bsBrowserKenel() {
            return add(getProxy().bsBrowserKenel());
        }

        /**
         * 0为外部认证;1为内部认证
         * {@link SysAppModule#getBsAutologin}
         */
        public SysAppModuleProxyFetcher bsAutologin() {
            return add(getProxy().bsAutologin());
        }

        /**
         * {@link SysAppModule#getParmInfo}
         */
        public SysAppModuleProxyFetcher parmInfo() {
            return add(getProxy().parmInfo());
        }

        /**
         * {@link SysAppModule#getModuleSeq}
         */
        public SysAppModuleProxyFetcher moduleSeq() {
            return add(getProxy().moduleSeq());
        }

        /**
         * {@link SysAppModule#getCreateDate}
         */
        public SysAppModuleProxyFetcher createDate() {
            return add(getProxy().createDate());
        }

        /**
         * {@link SysAppModule#getUpdateDate}
         */
        public SysAppModuleProxyFetcher updateDate() {
            return add(getProxy().updateDate());
        }

        /**
         * {@link SysAppModule#getRemark}
         */
        public SysAppModuleProxyFetcher remark() {
            return add(getProxy().remark());
        }

        /**
         * CS模块类名称
         * {@link SysAppModule#getCsClass}
         */
        public SysAppModuleProxyFetcher csClass() {
            return add(getProxy().csClass());
        }

        /**
         * {@link SysAppModule#getDatabaseId}
         */
        public SysAppModuleProxyFetcher databaseId() {
            return add(getProxy().databaseId());
        }

        /**
         * {@link SysAppModule#getMultiInst}
         */
        public SysAppModuleProxyFetcher multiInst() {
            return add(getProxy().multiInst());
        }

        /**
         * {@link SysAppModule#getAlwaysOpen}
         */
        public SysAppModuleProxyFetcher alwaysOpen() {
            return add(getProxy().alwaysOpen());
        }

        /**
         * {@link SysAppModule#getAutorunSeq}
         */
        public SysAppModuleProxyFetcher autorunSeq() {
            return add(getProxy().autorunSeq());
        }

        /**
         * {@link SysAppModule#getNavVisible}
         */
        public SysAppModuleProxyFetcher navVisible() {
            return add(getProxy().navVisible());
        }

        /**
         * 默认为0表示普通模块;1表示复合模块.适用于文件夹
         * {@link SysAppModule#getHybridEnable}
         */
        public SysAppModuleProxyFetcher hybridEnable() {
            return add(getProxy().hybridEnable());
        }

        /**
         * 复合模块样式
         * {@link SysAppModule#getHybridStyle}
         */
        public SysAppModuleProxyFetcher hybridStyle() {
            return add(getProxy().hybridStyle());
        }

        @Override
        protected SysAppModuleProxyFetcher createFetcher(SysAppModuleProxy cp, AbstractFetcher<SysAppModuleProxy, SysAppModule, SysAppModuleProxyFetcher> prev, SQLSelectAsExpression sqlSelectExpression) {
            return new SysAppModuleProxyFetcher(cp, this, sqlSelectExpression);
        }
    }
}
